fd=24000;
dt=1/fd;
t=(0:dt:2); % 
d=0.1;%    
c=1500;

n=512; %   
M=30;  %    ()
jk=sqrt(-1); % 
df=fd/n; %  
fk=df*(0:n-1); %    

f=input ('   (1-2.5)kHz-I ,(2-5)kHz-II ,(4-8)kHz-III  =');
fk0=floor(f/df+0.5);
nd=input('  =');
k1=[21 42 85];%  
k2=[53 107 171];%  
k0_=[7 10 7];
kl_=[10 8 6];
kH=k1(nd);
kB=k2(nd);
kl=kl_(nd);
k0=k0_(nd);
fm=5;
am=0.0;
al=-pi/4; %   
s=cos(2*pi*f*t); %      
s=cos(2*pi*f*t).*(1+am*cos(2*pi*fm*t)); 
tau0=d/c*sin(al); %     
tau=(0:M-1)'*tau0;%  

Ttau=repmat(tau,1,size(t,2)); %         1 
%sound (s,fd)
T=repmat(t,M,1);%    M  
x=cos(2*pi*f*(T-Ttau)).*(1+am*cos(2*pi*fm*(T-Ttau))); %       
%figure,image(x(:,1:200)*70), shading interp;
fk1=[fk(1:n/2+1) fk(n/2+2:n)-fd];
kolf=exp(jk*2*pi*tau*fk1);
fo=zeros(1,n);
fo(kH-kl:kB+kl)= hann (kB-kH+2*kl+1); %   
Ro=repmat(fo,M,1); %  
Per=1*n/2;%144% 
n_per=n-Per;
K=Per/2+1;

for i=1:100;
    In=(i-1)*n_per+1;
    Ik=In+n-1;
   Y0=fft(x(:,In:Ik),n,2);
   Y=Y0.*Ro;%  
   z=sum(Y.*kolf,1); %   
   %   
   V=zeros(1,n);
   V(k0:k0+kB-kH+2*kl)=z(kH-kl:kB+kl);
   % 
   U=ifft(z,n);
   Ik1=i*n_per; In1=(i-1)*n_per+1;  % 
   w(In1:Ik1)=real(U(K:K+n_per-1));
  U=ifft(V,n);
   w1(In1:Ik1)=real(U(K:K+n_per-1));
end


nBCE=size(w,2); %    
figure,plot(fd/nBCE*(0:nBCE-1),20*log10(abs(fft(w))));
xlabel('')
ylabel('')
figure, plot (w)
xlabel('T/dt')
sound (w,fd);
figure,plot(fd/nBCE*(0:nBCE-1),20*log10(abs(fft(w1))));
xlabel('')
ylabel('')
figure, plot (w1)
xlabel('T/dt')
sound (w1,fd);

figure,plot(abs(ifft(fo,512))),grid on;
figure,plot (fo);